home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import Common.ResourceManager;
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.utils.getDefinitionByName;
-
- public class XMLPackage
- {
-
-
- internal var _sDataRoot:String;
-
- public var Names:Array;
-
- internal var _fnCallback:Function;
-
- internal var _rmMain:ResourceManager;
-
- internal var _sFilename:String;
-
- internal var _rmXML:ResourceManager;
-
- public var Images:Array;
-
- public function XMLPackage(param1:String, param2:String, param3:Function)
- {
- _rmXML = new ResourceManager();
- _rmMain = new ResourceManager();
- Names = new Array();
- Images = new Array();
- super();
- _sFilename = param1;
- _sDataRoot = param2;
- _fnCallback = param3;
- _rmXML.CallbackFunction = LoadfromLibrary;
- _rmXML.setXMLResource("Package",param1);
- LoadfromLibrary();
- }
-
- protected function onXMLLoaded() : void
- {
- var _loc1_:XML = null;
- var _loc2_:XML = null;
- var _loc3_:* = undefined;
- var _loc4_:* = undefined;
- _loc1_ = _rmXML.getResource("Package",ResourceManager.C_XML);
- for each(_loc2_ in _loc1_.elements())
- {
- _loc3_ = _loc2_.@Name;
- _loc4_ = _loc2_.@File;
- Names.push(_loc3_);
- _rmMain.queueResourceLoad(_sDataRoot + "/" + _loc4_,_loc3_,ResourceManager.C_IMAGES);
- }
- _rmMain.CallbackFunction = onResLoaded;
- _rmMain.loadResource();
- }
-
- public function getImage(param1:String) : BitmapData
- {
- var _loc2_:int = 0;
- _loc2_ = 0;
- while(_loc2_ < Names.length)
- {
- if(Names[_loc2_] == param1)
- {
- return Images[_loc2_].bitmapData;
- }
- _loc2_++;
- }
- return null;
- }
-
- protected function LoadfromLibrary() : void
- {
- var _loc1_:XML = null;
- var _loc2_:Class = null;
- var _loc3_:BitmapData = null;
- var _loc4_:XML = null;
- var _loc5_:* = undefined;
- var _loc6_:* = undefined;
- _loc1_ = _rmXML.getResource("Package",ResourceManager.C_XML);
- for each(_loc4_ in _loc1_.elements())
- {
- _loc5_ = _loc4_.@Name;
- _loc6_ = _loc4_.@File;
- Names.push(_loc5_);
- _loc2_ = getDefinitionByName(_loc6_) as Class;
- _loc3_ = new _loc2_(0,0);
- Images.push(new Bitmap(_loc3_));
- }
- _fnCallback(_sFilename);
- }
-
- public function getImageIndex(param1:String) : int
- {
- var _loc2_:int = 0;
- _loc2_ = 0;
- while(_loc2_ < Names.length)
- {
- if(Names[_loc2_] == param1)
- {
- return _loc2_;
- }
- _loc2_++;
- }
- return -1;
- }
-
- public function getRandomImageName() : String
- {
- var _loc1_:int = 0;
- _loc1_ = Math.random() * (Names.length - 1);
- return Names[_loc1_];
- }
-
- protected function onResLoaded() : void
- {
- var _loc1_:int = 0;
- _loc1_ = 0;
- while(_loc1_ < Names.length)
- {
- Images.push(_rmMain.getResource(Names[_loc1_],ResourceManager.C_IMAGES));
- _loc1_++;
- }
- _fnCallback(_sFilename);
- }
- }
- }
-